/**
 *  Copyright (C) 2008-2013  Telosys project org. ( http://www.telosys.org/ )
 *
 *  Licensed under the GNU LESSER GENERAL PUBLIC LICENSE, Version 3.0 (the "License");
 *  you may not use this file except in compliance with the License.
 *  You may obtain a copy of the License at
 *
 *          http://www.gnu.org/licenses/lgpl.html
 *
 *  Unless required by applicable law or agreed to in writing, software
 *  distributed under the License is distributed on an "AS IS" BASIS,
 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *  See the License for the specific language governing permissions and
 *  limitations under the License.
 */
package org.telosys.persistence.dbfeatures;

import org.telosys.persistence.TelosysPersistenceException;

public abstract class AbstractDbFeatures implements DbFeatures {
	
	
	protected int versionMajor;
	protected int versionMinor;

	public AbstractDbFeatures(int versionMajor, int versionMinor) {
		super();
		this.versionMajor = versionMajor;
		this.versionMinor = versionMinor;
	}

	public int getVersionMajor() {
		return versionMajor ;
	}

	public int getVersionMinor() {
		return versionMinor ;
	}

	protected String getNameWithVersion(String name) {
		return name + " " + versionMajor + "." + versionMinor ;
	}

	public final static String SEQUENCES_NOT_SUPPORTED  = "Sequences are not supported by " ;
	
	public final static String FOR_UPDATE_NOT_SUPPORTED = "'FOR UPDATE' not supported by " ;
	
	public void throwExceptionSequencesNotSupported() {
		throw new TelosysPersistenceException( SEQUENCES_NOT_SUPPORTED + this.toString() );
	}

//	public void throwExceptionForUpdateNotSupported() {
//		throw new TelosysPersistenceException( FOR_UPDATE_NOT_SUPPORTED + this.toString() );
//	}
}
